Conventional methods for backing up data typically involve creating a backup or snapshot of one or more volumes of a computing system on a predetermined schedule, upon the occurrence of a specified event (such as installation of an operating-system patch or update), or when requested by a user. For example, a conventional backup software program may automatically back up or snapshot a volume of a computing system prior to installing an operating-system patch in order to ensure that a pre-patch restore point exists. The restore point may allow a user to revert the computing system to an earlier state to fix any performance or stability issues caused by the operating-system patch.
Unfortunately, conventional backup software programs typically create snapshots or backups of a computing system regardless of the state of health (e.g., performance or stability) of the computing system. As such, a user may revert a computing system to an earlier state, only to find that the performance or stability of the computing system decreases. In addition, given the rate of change on modern-day computing systems, the amount of storage space occupied by such snapshots or backups may become unwieldy or unmanageable.